From 0f7d684755aefbcfd70b45d24efc2d39bc505c4c Mon Sep 17 00:00:00 2001 From: Julian Elischer Date: Tue, 20 Aug 1996 08:22:01 +0000 Subject: Submitted by: John Birrell Here are the diffs for libc_r to get it one step closer to P1003.1c These make most of the thread/mutex/condvar structures opaque to the user. There are three functions which have been renamed with _np suffixes because they are extensions to P1003.1c (I did them for JAVA, which needs to suspend/resume threads and also start threads suspended). I've created a new header (pthread_np.h) for the non-POSIX stuff. The egrep tags stuff in /usr/src/lib/libc_r/Makefile that I uncommented doesn't work. I think its best to delete it. I don't think libc_r needs tags anyway, 'cause most of the source is in libc which does have tags. also: Here's the first batch of man pages for the thread functions. The diff to /usr/src/lib/libc_r/Makefile removes some stuff that was inherited from /usr/src/lib/libc/Makefile that should only be done with libc. also: I should have sent this diff with the pthread(3) man page. It allows people to type make -DWANT_LIBC_R world to get libc_r built with the rest of the world. I put this in the pthread(3) man page. The default is still not to build libc_r. also: The diff attached adds a pthread(3) man page to /usr/src/share/man/man3. The idea is that without libc_r installed, this man page will give people enough info to know that they have to build libc_r. --- lib/libkse/thread/thr_open.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'lib/libkse/thread/thr_open.c') diff --git a/lib/libkse/thread/thr_open.c b/lib/libkse/thread/thr_open.c index ead651ea3d9e..00bb91335755 100644 --- a/lib/libkse/thread/thr_open.c +++ b/lib/libkse/thread/thr_open.c @@ -31,6 +31,7 @@ * */ #include +#include #include #include #ifdef _THREAD_SAFE @@ -55,8 +56,8 @@ open(const char *path, int flags,...) mode = va_arg(ap, int); va_end(ap); } - /* Open the file, forcing it to use non-blocking I/O operations: */ - if ((fd = _thread_sys_open(path, flags | O_NONBLOCK, mode)) < 0) { + /* Open the file: */ + if ((fd = _thread_sys_open(path, flags, mode)) < 0) { } /* Initialise the file descriptor table entry: */ else if (_thread_fd_table_init(fd) != 0) { @@ -65,12 +66,6 @@ open(const char *path, int flags,...) /* Reset the file descriptor: */ fd = -1; - } else { - /* - * Save the file open flags so that they can be checked - * later: - */ - _thread_fd_table[fd]->flags = flags; } /* Unblock signals: */ -- cgit v1.2.3