summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
Commit message (Collapse)AuthorAgeFilesLines
* * miscfuncs.cc (check_iovec_for_read): Don't check buffer when zero lengthChristopher Faylor2002-08-308-130/+288
| | | | | | | | | | | | | | | | | | | | iov_len. (check_iovec_for_write): Ditto. * fhandler.h (fhandler_base::readv): New method. (fhandler_base::writev): Ditto. * fhandler.cc (fhandler_base::readv): New method. (fhandler_base::writev): Ditto. * syscalls.cc (_read): Delegate to readv(2). (_write): Ditto, mutatis mutandi. (readv): Rewrite, based on the old _read code, to use the new fhandler_base::readv method. Improve access mode handling and ensure all calls reach the final strace statement. (writev): Ditto, mutatis mutandi. * include/sys/uio.h (struct iovec): Change field types to match SUSv3. * winsup.h (check_iovec_for_read): New function. (check_iovec_for_write): Ditto. * miscfuncs.cc (check_iovec_for_read): Ditto. (check_iovec_for_write): Ditto.
* Sigh, mbsrtowcs was still missing...Corinna Vinschen2002-08-301-0/+2
|
* * cygwin.din: Add more prototypes for new wchar functions in newlib.Corinna Vinschen2002-08-302-0/+18
|
* * cygwin.din: Add prototypes for new wchar functions in newlib.Corinna Vinschen2002-08-303-1/+45
| | | | * include/cygwin/version.h: Bump API minor number.
* * poll.cc (poll): Peek sockets ready for read to see if there'sCorinna Vinschen2002-08-292-1/+28
| | | | actually data.
* * cygthread.cc (hthreads): Remove unneeded global.Christopher Faylor2002-08-293-14/+72
| | | | | | | | | | (cygthread::simplestub): New static member function. (cygthread::runner): Don't set hthreads. (cygthread::freerange): New member function. (cygthread::operator new): Call freerange if all cygwin slots are used up. (cygthread::exit_thread): Don't mess with event if freerange thread. (cygthread::detach): Ditto. * cygthread.h (class cygthread): Declare new member functions and variables.
* removeChristopher Faylor2002-08-291-0/+0
|
* removeChristopher Faylor2002-08-281-29/+0
|
* * malloc.cc: Protect some definitions to avoid a compile time warning.Christopher Faylor2002-08-282-0/+8
|
* * cygwin.din: Export getc_unlocked, getchar_unlocked,Corinna Vinschen2002-08-283-1/+17
| | | | | putc_unlocked, putchar_unlocked functions. * include/cygwin/version.h: Bump api minor.
* * fhandler_socket.cc (fhandler_socket::recvfrom): Eliminate flagsCorinna Vinschen2002-08-284-3/+26
| | | | | | | | | not understood by WinSock. (fhandler_socket::sendto): Ditto. If WinSock sendto() returns WSAESHUTDOWN, change errno to EPIPE and raise SIGPIPE if MSG_NOSIGNAL isn't set in flags. * include/cygwin/socket.h: Define MSG_WINMASK and MSG_NOSIGNAL. * include/cygwin/version.h: Bump API minor number.
* * poll.cc (poll): Eliminate erroneous POLLERR conditional.Corinna Vinschen2002-08-282-2/+4
|
* fragging mumble bruggum newlibChristopher Faylor2002-08-281-0/+0
|
* * fhandler_socket.cc (fhandler_socket::check_peer_secret_event):Corinna Vinschen2002-08-274-25/+50
| | | | | | | | | | | | | | | | | | | | | | | | | Fix strace message. (fhandler_socket::connect): Remove sigframe. (fhandler_socket::accept): Ditto. (fhandler_socket::getsockname): Ditto. (fhandler_socket::getpeername): Ditto. (fhandler_socket::recvfrom): Ditto. (fhandler_socket::recvmsg): Ditto. (fhandler_socket::sendto): Ditto. (fhandler_socket::sendmsg): Ditto. (fhandler_socket::close): Ditto. (fhandler_socket::ioctl): Ditto. * ioctl.cc (ioctl): Add sigframe. *net.cc (cygwin_sendto): Ditto. (cygwin_recvfrom): Ditto. (cygwin_recvfrom): Ditto. (cygwin_connect): Ditto. (cygwin_shutdown): Ditto. (cygwin_getpeername): Ditto. (cygwin_accept): Ditto. Improve strace message. (cygwin_getsockname): Ditto. Ditto. (cygwin_recvmsg): Ditto. Ditto. (cygwin_sendmsg): Fix strace message.
* * child_info.h: Add _PROC_WHOOPS enum value.Christopher Faylor2002-08-277-19/+42
| | | | | | | | | | | | | | | (CURR_CHILD_INFO_MAGIC): Update. (child_info::magic): Make 'long'. * cygheap.h: Export _cygheap_start. * cygheap.cc: Don't declare _cygheap_start. * cygmagic: Use cksum to produce checksums. Append 'U' to end of checksum. * dcrt0.cc (initial_env): Calculate sleep ms before reusing buffer. (_dll_crt0): Detect cygheap mismatch as indicative of different cygwin version. Set child_proc_info to NULL when _PROC_WHOOPS. (multiple_cygwin_problem): If child_info specific problem, then set child_proc_info type to _PROC_WHOOPS. * shared_info.h (CURR_MOUNT_MAGIC): Update. (CURR_SHARED_MAGIC): Ditto.
* * fhandler.h (fhandler_socket::recvfrom): Fix prototype.Corinna Vinschen2002-08-265-24/+51
| | | | | | | | | | | | | | | | | | | | | | | (fhandler_socket::sendto): Ditto. * fhandler_socket.cc (fhandler_socket::recvfrom): Ditto. (fhandler_socket::sendto): Ditto. * include/sys/socket.h (recv): Fix prototype. (recvfrom): Ditto. (send): Ditto. (sendto): Ditto. * net.cc (cygwin_sendto): Ditto. Improve strace message (cygwin_recvfrom): Ditto. Ditto. (cygwin_setsockopt): Improve strace message. (cygwin_getsockopt): Ditto. (cygwin_connect): Ditto. (cygwin_accept): Ditto. (cygwin_bind): Ditto. (cygwin_getsockname): Ditto. (cygwin_getpeername): Ditto. (cygwin_recv): Fix prototype. (cygwin_send): Ditto. (cygwin_recvmsg): Improve strace message. (cygwin_sendmsg): Ditto.
* * sec_acl.cc (getacl): Check ace_sid == well_known_world_sidCorinna Vinschen2002-08-263-170/+108
| | | | | | | | | | before owner_sid and group_sid so that well_known_world_sid means "other" even when owner_sid and/or group_sid are Everyone. * security.cc (get_attribute_from_acl): Created from code common to get_nt_attribute() and get_nt_object_attribute(), with same reordering as in getacl() above. (get_nt_attribute): Call get_attribute_from_acl(). (get_nt_object_attribute): Ditto.
* * Makefile.in (cygcheck.exe): Make a -mno-cygwin program.Christopher Faylor2002-08-264-17/+43
| | | | | | * cygrun.c (main): Export CYGWIN=ntsec unless otherwise set. * shared.cc (shared_name): Only add build date to shared name when *testing*.
* * Makefile.in (DLL_IMPORTS): Move libuuid.a and libshell32.a to list ratherChristopher Faylor2002-08-252-6/+14
| | | | | than referring to them via -l. Add DLL imports last in link line for new-cygwin.dll and cygrun.exe.
* * pinfo.h (pinfo::remember): Arrange for destructor call if proc_subprocChristopher Faylor2002-08-193-5/+17
| | | | | | returns error. * sigproc.cc (zombies): Store 1 + total zombies since proc_subproc uses NZOMBIES element.
* * pwdgrp.h (pwdgrp_read::pwdgrp_read): Remove.Corinna Vinschen2002-08-192-13/+10
| | | | | | (pwdgrp_read::~pwdgrp_read): Ditto. (pwdgrp_read::open): Reset fh to NULL instead of INVALID_HANDLE_VALUE. (pwdgrp_read::close): Ditto.
* * fhandler.h (fhandler_console::send_winch_maybe): New method.Christopher Faylor2002-08-194-25/+45
| | | | | | | | | * fhandler_console.cc (set_console_state_for_spawn): Remove if 0'ed code. (fhandler_console::send_winch_maybe): Define new method. (fhandler_console::read): Use send_winch_maybe where appropriate. (fhandler_console::init): Just call all tcsetattr rather than output_tcsetattr. * select.cc (peek_console): Reorganize so that send_winch_maybe is called for everything but keyboard input.
* * perthread.h (vfork_save): Add ctty, sid, pgid, exitval fields.Christopher Faylor2002-08-189-19/+99
| | | | | | | | | | | | | | | | | (vfork_save::restore_pid): New method. (vfork_save::restore_exit): New method. * fork.cc (vfork): Save ctty, sid, pgid and restore them when returning to "parent". Use exitval field if exiting but never created a new process. * syscalls.cc (setsid): Detect when in "vfork" and force an actual fork so that pid will be allocated (UGLY!). (getsid): New function. * dcrt0.cc (do_exit): Use vfork_save::restore_exit method for returning from a vfork. * spawn.cc (spawnve): Use vfork_save::{restore_pid,restore_exit} methods for returning from vfork. * cygwin.din: Export getsid. * include/cygwin/version.h: Bump api minor number. * malloc.cc: #ifdef sYSTRIm for when MORECORE_CANNOT_TRIM is true.
* * cygmalloc.h (MORECORE_CANNOT_TRIM): Define.Christopher Faylor2002-08-182-1/+4
|
* * sigproc.cc (sigCONT): Define.Christopher Faylor2002-08-185-16/+32
| | | | | | | | | * sigproc.h (sigCONT): Declare. (wait_sig): Create sigCONT event here. * exceptions.cc (sig_handle_tty_stop): Wait for sigCONT event rather than stopping thread. (sig_handle): Set sigCONT event as appropriate on SIGCONT rather than calling ResumeThread.
* * malloc.cc: Update to 2.7.2.Christopher Faylor2002-08-183-10/+19
| | | | | * malloc_wrapper.cc (malloc_init): Call user level mallocs to determine if the malloc has been wrapped.
* fix typoChristopher Faylor2002-08-171-1/+1
|
* Missed this commit in last checkin.Christopher Faylor2002-08-161-74/+149
|
* * winsup.h: Remove malloc_*lock functions.Christopher Faylor2002-08-162-3/+4
|
* * Makefile.in: Add support for new malloc.o and renamed malloc_wrapper.o. UseChristopher Faylor2002-08-1610-31/+5661
| | | | | | | | | | | | | | | | | -fomit-frame-pointer for malloc.o compilation. * malloc_wrapper.cc: New file. Rename from malloc.cc. Add support for more malloc functions. Eliminate export_* calls. Just use straight malloc names. Remove unused argument from malloc lock functions. * cygwin.din: Just export straight malloc names. Add malloc_stats, malloc_trim, malloc_usable_size, mallopt, memalign, valloc. * dcrt0.cc (__cygwin_user): Eliminate export_* malloc entries. * fork.cc (fork_parent): Remove unused argument from malloc_lock argument. * malloc.cc: New file. Doug Lea's malloc v2.7.1. * cygmalloc.h: New file. * include/cygwin/version.h: Bump API_MINOR. * sync.h (muto::acquire): Use appropriate number for regparm attribute. (muto::reset): Ditto. (muto::release): Ditto.
* * exceptions.cc (interrupt_setup): Ensure that the previous signal mask isChristopher Faylor2002-08-162-1/+7
| | | | properly saved.
* * dcrt0.cc: Modify define for CYGWIN_GUARD.Christopher Faylor2002-08-152-2/+8
| | | | (alloc_stack_hard_way): Just use CYGWIN_GUARD in VirtualAlloc call.
* present tenseChristopher Faylor2002-08-151-21/+20
|
* make comment more accurate.Christopher Faylor2002-08-151-4/+4
|
* * fhandler.h (fhandler_socket::recv): Remove method.Conrad Scott2002-08-124-106/+28
| | | | | | | | | | | | | (fhandler_socket::send): Ditto. * fhandler_socket.cc (fhandler_socket::recv): Ditto. (fhandler_socket::send): Ditto. (fhandler_socket::read): Delegate to fhandler_socket::recvfrom. (fhandler_socket::write): Delegate to fhandler_socket::sendto. (fhandler_socket::sendto): Check for null `to' address. * net.cc (cygwin_sendto): Check for zero request length. (cygwin_recvfrom): Ditto. Fix signature, use void *buf. (cygwin_recv): Delegate to cygwin_recvfrom. (cygwin_send): Delegate to cygwin_sendto.
* * cygthread.cc (cygthread::cygthread): Close another race.Christopher Faylor2002-08-112-1/+12
|
* * assert.cc (__assert): Call debugger on assertion failure if debugging.Christopher Faylor2002-08-117-25/+41
| | | | | | | | | | | | | * dcrt0.cc (dll_crt0_1): Just wait for signal thread to go live rather than going through the overhead of invoking it. * fork.cc (fork_child): Ditto. * exceptions.cc (signal_fixup_after_fork): Call sigproc_init here. * sigproc.cc (proc_can_be_signalled): Assume that the signal thread is live. (sig_dispatch): Ditto. (sig_send): Ditto. (wait_for_sigthread): Renamed from "wait_for_me". Assume that wait_sig_inited has been set and that this function is only called from the main thread. * winsup.h (wait_for_sigthread): Declare new function.
* * environ.cc (parse_options): Remember the "no" part of any options for laterChristopher Faylor2002-08-082-1/+7
| | | | export.
* * winsup.h (__check_null_invalid_struct): Make ptr argument non-const.Conrad Scott2002-08-086-150/+191
| | | | | | | | | | | | | | | | | | | | | | | | | (__check_null_invalid_struct_errno): Ditto. * miscfuncs.cc (__check_null_invalid_struct): Ditto. (__check_null_invalid_struct_errno): Ditto. (__check_invalid_read_ptr_errno): Remove superfluous cast. * net.cc (get): Set appropriate errno if fd is not a socket. (cygwin_sendto): Fix parameter checking. (cygwin_recvfrom): Ditto. (cygwin_setsockopt): Ditto. (cygwin_getsockopt): Ditto. (cygwin_connect): Ditto. (cygwin_gethostbyaddr): Ditto. (cygwin_accept): Ditto. (cygwin_bind): Ditto. (cygwin_getsockname): Ditto. (cygwin_listen): Ditto. (cygwin_getpeername): Ditto. (cygwin_send): Ditto. (cygwin_shutdown): Ditto. Move sigframe to fhandler_socket. (cygwin_recvmsg): Fix parameter checking. Add tracing. (cygwin_sendmsg): Ditto. * fhandler_socket.cc (fhandler_socket::shutdown): Add sigframe. * resource.cc (setrlimit): Fix parameter checking.
* Patch by Joe Buehler <jbuehler@hekimian.com>:Corinna Vinschen2002-08-082-1/+5
| | | | * sec_helper.cc (sec_acl): remove extraneous arg to debug_printf.
* Fix by Conrad Scott <conrad.scott@dsl.pipex.com>:Corinna Vinschen2002-08-072-2/+7
| | | | * fhandler_socket.cc (fhandler_socket::accept): Fix FIONBIO call.
* one more changeChristopher Faylor2002-08-072-1/+2
|
* * cygheap.cc (_csbrk): Avoid !cygheap considerations.Christopher Faylor2002-08-072-20/+18
| | | | (cygheap_init): Deal with unintialized cygheap issues here.
* Conrad Scott <conrad.scott@dsl.pipex.comChristopher Faylor2002-08-063-3/+9
| | | | | * cygheap.cc (_csbrk): Allocate some slop initially. Don't erroneously add sbrk amount to returned value in initial case.
* * spawn.cc (spawn_guts): Don't set mount_h here.Christopher Faylor2002-08-063-1/+7
| | | | | * sigproc.cc (init_child_info): Set it here instead. * shared.cc (cygwin_mount_h): Make NO_COPY.
* * cygthread.cc (cygthread::stub): Accept flag to pass info structure to threadChristopher Faylor2002-08-065-14/+53
| | | | | | | | | | | | | | | | function. (cygthread::operator new): Add defense debugging output. (cygthread::cygthread): Add debugging output. Set name after thread has been awakened to avoid a race. (cygthread::exit_thread): Use handle operator rather than using ev directly. (cygthread::exit_thread): Reorganize to provide debugging. Set __name to NULL. * cygthread.h (cygself): Define. * fhandler_tty.cc (fhandler_tty_master::init): Use cygself as argument so that invoked thread can access its own info. (process_output): Derive cygthread info of thread from thread argument. * sigproc.cc (sigproc_init): Use cygself as argument so that invoked thread can access its own info. (wait_sig): Derive cygthread info of thread from thread argument.
* * debug.h (handle_list::allocated): Remove field.Conrad Scott2002-08-063-17/+12
| | | | | | * debug.cc (newh): Don't malloc extra entries. (add_handle): Downgrade strace message level. (delete_handle): Remove case for `allocated' entries.
* * cygthread.cc (cygthread::stub): Change event creation to manual reset. SetChristopher Faylor2002-08-052-7/+30
| | | | | __name after calling SetEvent to prevent races. (cygthread::detach): Always reset event here to prevent races.
* * debug.h (WaitForMultipleObjects): Correct typo.Conrad Scott2002-08-032-1/+5
|
* updateChristopher Faylor2002-08-031-1/+5
|