"Qingqing Zhou" <[EMAIL PROTECTED]> wrote > As I reviewed the win32/sema.c, there is some code that I am not clear, can > anybody explain please? >
There is another problem related to concurrent operations on win32 sema. Say two processes are doing semop(+1) concurrently. Look at this code: /* Don't want the lock anymore */ sem_counts[sops[0].sem_num]++; ReleaseSemaphore(cur_handle, sops[0].sem_op, NULL); Except for the problem mentioned in the above thread that the first line should be: sem_counts[sops[0].sem_num] += sops[0].sem_op, the sem_counts[] are unprotected by anything, so we might lose an update. Maybe I totally misunderstand something? Regards, Qingqing ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly