atom feed1 message in org.freebsd.freebsd-bugsmisc/8202: semop() is not wrapped for...
FromSent OnAttachments
rr...@lmi.netOct 7, 1998 11:34 pm 
Subject:misc/8202: semop() is not wrapped for thread safety in libc_r
From:rr...@lmi.net (rr@lmi.net)
Date:Oct 7, 1998 11:34:35 pm
List:org.freebsd.freebsd-bugs

Number: 8202 Category: misc Synopsis: semop() is not wrapped for thread safety in libc_r Confidential: no Severity: non-critical Priority: low Responsible: freebsd-bugs State: open Quarter: Keywords: Date-Required: Class: change-request Submitter-Id: current-users Arrival-Date: Wed Oct 7 23:40:00 PDT 1998 Last-Modified: Originator: Rob Schulhof Organization: LanMinds Internet Release: FreeBSD 3.0-19980930 Environment:

FreeBSD schoolie.lmi.net 3.0-BETA FreeBSD 3.0-BETA #8: Wed Sep 30 20:33:07 PDT
1998 ro@schoolie.lanminds.com:/usr/src/src/sys/compile/SCHOOL i386

Description:

Semaphore operations are not thread safe. If one thread sleeps waiting on a semop() then all of the threads are suspended.

How-To-Repeat:

Create a set of threads that wait on a single semaphore value to reach zero, increment the value for a finite time, then decrement the value and exit.

Fix:

Implement semop and semctl wrappers in libc_r. I don't know if any kernel mods are necessary.

Audit-Trail: Unformatted:

To Unsubscribe: send mail to majo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message