diff options
-rw-r--r-- | ipc/sem.c | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -1000,6 +1000,17 @@ static int check_qop(struct sem_array *sma, int semnum, struct sem_queue *q, | |||
1000 | { | 1000 | { |
1001 | struct sembuf *sop = q->blocking; | 1001 | struct sembuf *sop = q->blocking; |
1002 | 1002 | ||
1003 | /* | ||
1004 | * Linux always (since 0.99.10) reported a task as sleeping on all | ||
1005 | * semaphores. This violates SUS, therefore it was changed to the | ||
1006 | * standard compliant behavior. | ||
1007 | * Give the administrators a chance to notice that an application | ||
1008 | * might misbehave because it relies on the Linux behavior. | ||
1009 | */ | ||
1010 | pr_info_once("semctl(GETNCNT/GETZCNT) is since 3.16 Single Unix Specification compliant.\n" | ||
1011 | "The task %s (%d) triggered the difference, watch for misbehavior.\n", | ||
1012 | current->comm, task_pid_nr(current)); | ||
1013 | |||
1003 | if (sop->sem_num != semnum) | 1014 | if (sop->sem_num != semnum) |
1004 | return 0; | 1015 | return 0; |
1005 | 1016 | ||