Commit Graph

5 Commits

Author SHA1 Message Date
3f72f52320 fcntl(fd, F_GETFL) returns the flags as the return value, not via a passed
* camel-tcp-stream-raw.c (stream_getsockopt, stream_setsockopt):
	* camel-stream-fs.c (stream_read, stream_write):
	* camel-remote-store.c (socket_connect): fcntl(fd, F_GETFL)
	returns the flags as the return value, not via a passed in
	pointer. And F_SETFL looks for an int, not a long, and you have to
	pass it what it's expecting because it's a va_arg parameter. (Yes,
	the man page lies on Linux. But check the UNIX98 spec or the glibc
	source.) Also, fix another bug in socket_connect: if we manage to
	connect right away, unset O_NONBLOCK so it doesn't mess us up
	later.

	Fixes a bunch of problems with non-blocking I/O being done in the
	allegedly-blocking case and then returning EWOULDBLOCK.

svn path=/trunk/; revision=7555
2001-01-16 23:27:51 +00:00
d9b76e981f If the close() is successful, set the fd to -1.
2001-01-15  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-stream-fs.c (stream_close): If the close() is successful,
	set the fd to -1.

	* camel-tcp-stream-raw.c: Removed the disconnect() method.
	(stream_close): If the close() is successful, set the sockfd to
	-1.

	* camel-tcp-stream-ssl.c: Removed the disconnect() method.
	(stream_close): If the close() is successful, set the sockfd to
	NULL.

	* camel-tcp-stream.c (camel_tcp_stream_disconnect): Removed,
	easier to just use the close() method as it did the same thing
	anyway.

svn path=/trunk/; revision=7522
2001-01-16 00:54:18 +00:00
ffe3a796ed Updated to be able to get the CAMEL_SOCKOPT_NONBLOCKING socket opt.
2001-01-15  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-tcp-stream-raw.c (stream_getsockopt): Updated to be able
	to get the CAMEL_SOCKOPT_NONBLOCKING socket opt.
	(stream_setsockopt): Updated to be able to set the
	CAMEL_SOCKOPT_NONBLOCKING socket opt.

svn path=/trunk/; revision=7519
2001-01-15 23:31:40 +00:00
24a2d4baa8 Implemented. (stream_setsockopt): Implemented.
2001-01-14  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-tcp-stream-ssl.c (stream_getsockopt): Implemented.
	(stream_setsockopt): Implemented.

	* camel-tcp-stream-raw.c (stream_getsockopt): Implemented.
	(stream_setsockopt): Implemented.

	* camel-tcp-stream.c (camel_tcp_stream_getsockopt): New method.
	(camel_tcp_stream_setsockopt): Another new method. I think you get
	the idea of what these are for so I won't explain them.

svn path=/trunk/; revision=7491
2001-01-14 22:48:09 +00:00
5608af39dd New CamelTcpStream class that implements nspr sockets and eventually will
2001-01-14  Jeffrey Stedfast  <fejj@helixcode.com>

	* camel-tcp-stream-ssl.[c,h]: New CamelTcpStream class that
	implements nspr sockets and eventually will use nss for
	SSL/TLS. Currently doesn't do any SSL/TLS but it should still
	work. It's functionally equivalent to CamelTcpStreamRaw at the
	moment only it uses nspr i/o.

	* camel-tcp-stream-raw.[c,h]: New CamelTcpStream class that
	implements native sockets. Should be usable but may have some bugs
	yet.

svn path=/trunk/; revision=7489
2001-01-14 08:21:00 +00:00