evutil_make_socket_nonblocking(fd);
if (connect(fd, sa, slen) == -1) {
+#ifdef WIN32
+ int tmp_err = WSAGetLastError();
+ if (tmp_err != WSAEINPROGRESS && tmp_err != WSAEINVAL &&
+ tmp_err != WSAEWOULDBLOCK)
+ event_err(1, "connect failed");
+#else
if (errno != EINPROGRESS)
event_err(1, "connect failed");
+#endif
}
#ifndef WIN32
static void
http_incomplete_writecb(struct bufferevent *bev, void *arg)
{
+#ifndef SHUT_WR
+#define SHUT_WR 1
+#endif
if (arg != NULL) {
int fd = *(int *)arg;
/* terminate the write side to simulate EOF */
event_dispatch();
gettimeofday(&tv_end, NULL);
- timersub(&tv_end, &tv_start, &tv_end);
+ evutil_timersub(&tv_end, &tv_start, &tv_end);
if (use_timeout) {
bufferevent_free(bev);
event_dispatch();
gettimeofday(&tv_end, NULL);
- timersub(&tv_end, &tv_start, &tv_end);
+ evutil_timersub(&tv_end, &tv_start, &tv_end);
if (tv_end.tv_sec >= 1) {
fprintf(stdout, "FAILED (time)\n");
gettimeofday(&tv_start, NULL);
event_dispatch();
gettimeofday(&tv_end, NULL);
- timersub(&tv_end, &tv_start, &tv_end);
+ evutil_timersub(&tv_end, &tv_start, &tv_end);
if (tv_end.tv_sec >= 1) {
fprintf(stdout, "FAILED (time)\n");
exit(1);
gettimeofday(&tv_start, NULL);
event_dispatch();
gettimeofday(&tv_end, NULL);
- timersub(&tv_end, &tv_start, &tv_end);
+ evutil_timersub(&tv_end, &tv_start, &tv_end);
if (tv_end.tv_sec <= 1 || tv_end.tv_sec >= 6) {
fprintf(stdout, "FAILED (time)\n");
exit(1);
event_dispatch();
gettimeofday(&tv_end, NULL);
- timersub(&tv_end, &tv_start, &tv_end);
+ evutil_timersub(&tv_end, &tv_start, &tv_end);
if (tv_end.tv_sec <= 1 || tv_end.tv_sec >= 6) {
fprintf(stdout, "FAILED (time)\n");
exit(1);