newlib/winsup/cygwin/include
Corinna Vinschen 8fbd574ef0 * cygwin.din (sem_unlink): Export.
* posix_ipc.cc: Include thread.h and semaphore.h.  Remove TODO
	comment.
	(ipc_names): Add max_len member.  Set to maximum length of the path
	before tacking on the prefix path.  Set prefix path for named semaphors
	to /dev/shm, as on Linux.
	(enum ipc_type_t): Change sem to semaphore to avoid name conflicts.
	(check_path): Detect empty paths.  Use ipc_names's max_len member.
	Use __small_sprintf to create full object path name.  Special case
	semaphores.
	(ipc_cond_init): Drop superfluous strcpy.
	(class ipc_flock): New class to simplify file locking in subsequent
	code.
	(struct mq_hdr): Raise size of mqh_uname to allow adding a unique
	LUID to the name.
	(mq_open): Fix formatting.  Create unique synchronization object names
	using AllocateLocallyUniqueId.
	(struct sem_finfo): New structure defining named semaphore file content.
	(sem_open): Move here.  Rework implementation to allow kernel
	persistent implementation of POSIX named semaphores.
	(_sem_close): Implement sem_close.
	(sem_close): Move here.  Just call _sem_close with do_close parameter
	set to true.
	(sem_unlink): New function.
	* pthread.cc (mangle_sem_name): Remove.
	(sem_open): Move to posix_ipc.cc.
	(sem_close): Ditto.
	* syscalls.cc (close_all_files): Call semaphore::terminate here.
	* thread.cc: Fix formatting.  Rearrange semaphore functions so that
	they are close together.
	(semaphore::semaphore): Rework to play nicely with new named semaphore
	implementation.
	(semaphore::_terminate): Call _sem_close if semaphore is a named
	semaphore.
	(semaphore::destroy): Don't destroy named semaphores.  Return EINVAL
	instead.
	(semaphore::close): Only destroy named semaphores.  Return EINVAL
	otherwise.
	(semaphore::open): Rework to play nicely with new named semaphore
	implementation.  Loop through existing semaphores to be able to
	return same sem_t pointer as a former call on the same named semaphore.
	(semaphore::getinternal): New function called from _sem_close.
	* thread.h (class List): Make mx and head public.
	(class semaphore): Fix formatting.  Align method declarations with
	implementation in thread.cc.  Add members used for named semaphores.
	(semaphore::terminate): New static method.
	* include/semaphore.h: Redefine SEM_FAILED.  Fix formatting.
	(sem_unlink): Add declaration.
	* include/cygwin/version.h: Bump API minor number.
2007-02-20 15:48:04 +00:00
..
arpa * Makefile.in (DLL_OFILES): Add minires-os-if.o and minires.o. 2006-12-11 19:59:06 +00:00
asm * autoload.cc (WSAIoctl): Define. 2007-01-21 22:54:05 +00:00
cygwin * cygwin.din (sem_unlink): Export. 2007-02-20 15:48:04 +00:00
machine
net
netinet
sys * cygwin.din (shm_open): Export. 2007-02-08 13:36:53 +00:00
a.out.h
byteswap.h
ctype.h
dlfcn.h
elf.h
endian.h
err.h
exceptions.h
fcntl.h
features.h
fnmatch.h
fts.h
ftw.h * include/ftw.h: Include sys/cdefs.h. 2007-01-28 11:27:05 +00:00
getopt.h
glob.h * glob.c: Remove. 2006-10-17 17:34:56 +00:00
icmp.h
inttypes.h
io.h
lastlog.h
libgen.h
limits.h * Makefile.in (DLL_OFILES): Add posix_ipc.o. 2007-02-14 10:06:46 +00:00
mapi.h
memory.h
mntent.h
mqueue.h * posix_ipc.cc (mq_open): Avoid compiler warning. Initialize mqhdr 2007-02-15 17:49:25 +00:00
netdb.h * net.cc (ga_dup): New function, taken from ga_clone with v4-in-v6 2007-02-01 15:54:40 +00:00
paths.h
poll.h
pthread.h * cygmalloc.h (MALLOC_FAILURE_ACTION): Define empty. 2007-02-07 17:22:40 +00:00
pty.h
resolv.h * Makefile.in (DLL_OFILES): Add minires-os-if.o and minires.o. 2006-12-11 19:59:06 +00:00
sched.h
search.h
semaphore.h * cygwin.din (sem_unlink): Export. 2007-02-20 15:48:04 +00:00
stdint.h
strings.h * include/strings.h: Don't include string.h. Only declare functions 2007-01-05 15:09:22 +00:00
sysexits.h
syslog.h
termio.h
tzfile.h
utmpx.h