proto.c (229778) | proto.c (229945) |
---|---|
1/*- 2 * Copyright (c) 2009-2010 The FreeBSD Foundation 3 * All rights reserved. 4 * 5 * This software was developed by Pawel Jakub Dawidek under sponsorship from 6 * the FreeBSD Foundation. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 14 unchanged lines hidden (view full) --- 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 */ 29 30#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2009-2010 The FreeBSD Foundation 3 * All rights reserved. 4 * 5 * This software was developed by Pawel Jakub Dawidek under sponsorship from 6 * the FreeBSD Foundation. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 14 unchanged lines hidden (view full) --- 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 */ 29 30#include <sys/cdefs.h> |
31__FBSDID("$FreeBSD: head/sbin/hastd/proto.c 229778 2012-01-07 16:09:33Z uqs $"); | 31__FBSDID("$FreeBSD: head/sbin/hastd/proto.c 229945 2012-01-10 22:39:07Z pjd $"); |
32 33#include <sys/types.h> 34#include <sys/queue.h> 35#include <sys/socket.h> 36 37#include <errno.h> 38#include <stdint.h> 39#include <string.h> --- 374 unchanged lines hidden (view full) --- 414 struct timeval tv; 415 int fd; 416 417 PJDLOG_ASSERT(conn != NULL); 418 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); 419 PJDLOG_ASSERT(conn->pc_proto != NULL); 420 421 fd = proto_descriptor(conn); | 32 33#include <sys/types.h> 34#include <sys/queue.h> 35#include <sys/socket.h> 36 37#include <errno.h> 38#include <stdint.h> 39#include <string.h> --- 374 unchanged lines hidden (view full) --- 414 struct timeval tv; 415 int fd; 416 417 PJDLOG_ASSERT(conn != NULL); 418 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); 419 PJDLOG_ASSERT(conn->pc_proto != NULL); 420 421 fd = proto_descriptor(conn); |
422 if (fd < 0) | 422 if (fd == -1) |
423 return (-1); 424 425 tv.tv_sec = timeout; 426 tv.tv_usec = 0; | 423 return (-1); 424 425 tv.tv_sec = timeout; 426 tv.tv_usec = 0; |
427 if (setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv)) < 0) | 427 if (setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv)) == -1) |
428 return (-1); | 428 return (-1); |
429 if (setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)) < 0) | 429 if (setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)) == -1) |
430 return (-1); 431 432 return (0); 433} 434 435void 436proto_close(struct proto_conn *conn) 437{ 438 439 PJDLOG_ASSERT(conn != NULL); 440 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); 441 PJDLOG_ASSERT(conn->pc_proto != NULL); 442 PJDLOG_ASSERT(conn->pc_proto->prt_close != NULL); 443 444 conn->pc_proto->prt_close(conn->pc_ctx); 445 proto_free(conn); 446} | 430 return (-1); 431 432 return (0); 433} 434 435void 436proto_close(struct proto_conn *conn) 437{ 438 439 PJDLOG_ASSERT(conn != NULL); 440 PJDLOG_ASSERT(conn->pc_magic == PROTO_CONN_MAGIC); 441 PJDLOG_ASSERT(conn->pc_proto != NULL); 442 PJDLOG_ASSERT(conn->pc_proto->prt_close != NULL); 443 444 conn->pc_proto->prt_close(conn->pc_ctx); 445 proto_free(conn); 446} |