You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The stop flag didn't really work because:
- if queue is full msgsnd() will block in the kernel
- if queue is empty msgrcv() will block in the kernel
And if the other process from the reader-writer pair exits the queue
will be never changed and the test will get stuck and killed by watchdog
timer.
What we need to do is to use IPC_NOWAIT, retry manually (after short
usleep) and handle errors manually as well. In that case no processes
will sleep in kernel and setting the stop flag will actually stop the
test.
Link: https://lore.kernel.org/ltp/[email protected]/
Acked-by: Andrea Cervesato <[email protected]>
Reviewed-by: Martin Doucha <[email protected]>
Reviewed-by: Petr Vorel <[email protected]>
Signed-off-by: Cyril Hrubis <[email protected]>
0 commit comments