Changeset 4000
- Timestamp:
- 2005年12月14日 00時27分59秒 (3 years ago)
- Files:
-
- trunk/src/ChangeLog.Meadow (modified) (1 diff)
- trunk/src/process.c (modified) (2 diffs)
- trunk/src/w32.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/ChangeLog.Meadow
r3999 r4000 1 2005-12-13 Kyotaro HORIGUCHI <horiguti@meadowy.org> 2 3 * w32.c (sys_getsockopt): New function. 4 (pfn_getsockopt): New function pointer. 5 (init_winsock): Initialize pfn_getsockopt. 6 7 * process.c (wait_reading_process_output): Get errno by 8 sys_getsockopt. 9 1 10 2005-12-13 Kyotaro HORIGUCHI <horiguti@meadowy.org> 2 11 trunk/src/process.c
r3990 r4000 4709 4709 #else 4710 4710 { 4711 #ifdef MEADOW 4712 int xlen = sizeof (xerrno); 4713 if (sys_getsockopt (channel, 4714 SOL_SOCKET, SO_ERROR, &xerrno, &xlen)) 4715 xerrno = errno; 4716 #else 4711 4717 struct sockaddr pname; 4712 4718 int pnamelen = sizeof(pname); … … 4722 4728 xerrno = errno; 4723 4729 } 4730 #endif /* Meadow */ 4724 4731 } 4725 4732 #endif trunk/src/w32.c
r3973 r4000 98 98 #undef shutdown 99 99 #undef setsockopt 100 #undef getsockopt 100 101 #undef listen 101 102 #undef getsockname … … 3093 3094 int (PASCAL *pfn_setsockopt) (SOCKET s, int level, int optname, 3094 3095 const char * optval, int optlen); 3096 int (PASCAL *pfn_getsockopt) (SOCKET s, int level, int optname, 3097 const char * optval, int *optlen); 3095 3098 int (PASCAL *pfn_listen) (SOCKET s, int backlog); 3096 3099 int (PASCAL *pfn_getsockname) (SOCKET s, struct sockaddr * name, … … 3176 3179 LOAD_PROC( WSACleanup ); 3177 3180 LOAD_PROC( setsockopt ); 3181 LOAD_PROC( getsockopt ); 3178 3182 LOAD_PROC( listen ); 3179 3183 LOAD_PROC( getsockname ); … … 3726 3730 } 3727 3731 3732 #ifdef MEADOW 3733 int 3734 sys_getsockopt (int s, int level, int optname, char *optval, int *optlen) 3735 { 3736 if (winsock_lib == NULL) 3737 { 3738 h_errno = ENETDOWN; 3739 return SOCKET_ERROR; 3740 } 3741 3742 check_errno (); 3743 if (fd_info[s].flags & FILE_SOCKET) 3744 { 3745 int rc = pfn_getsockopt (SOCK_HANDLE (s), 3746 level, optname, optval, optlen); 3747 if (rc == SOCKET_ERROR) 3748 set_errno (); 3749 return rc; 3750 } 3751 h_errno = ENOTSOCK; 3752 return SOCKET_ERROR; 3753 } 3754 #endif 3755 3728 3756 int 3729 3757 sys_listen (int s, int backlog)
