The freezestr() and unfreezestr() functions can have a serious impact on system performance. Their use should be very limited. In most cases, there is no need to use freezestr() and there are usually better ways to accomplish what you need
to do than by freezing the stream.
Calling freezestr() to freeze a stream that is already frozen by the caller will result in a single-party deadlock.
The caller of unfreezestr() must be the thread who called freezestr().
STREAMS utility functions such as getq(9F), putq(9F), putbq(9F), and so forth, should not be called by the caller of freezestr() while the stream is still frozen, as they indirectly freeze the stream to ensure atomicity of queue manipulation.
|