aboutsummaryrefslogtreecommitdiff
path: root/libsylph/session.c
diff options
context:
space:
mode:
Diffstat (limited to 'libsylph/session.c')
-rw-r--r--libsylph/session.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/libsylph/session.c b/libsylph/session.c
index 0617e402..4d043063 100644
--- a/libsylph/session.c
+++ b/libsylph/session.c
@@ -1,6 +1,6 @@
/*
* LibSylph -- E-Mail client library
- * Copyright (C) 1999-2007 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2009 Hiroyuki Yamamoto
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -121,7 +121,6 @@ gint session_connect(Session *session, const gchar *server, gushort port)
{
#ifndef G_OS_UNIX
SockInfo *sock = NULL;
- gint flag = 0;
#endif
g_return_val_if_fail(session != NULL, -1);
g_return_val_if_fail(server != NULL, -1);
@@ -143,7 +142,7 @@ gint session_connect(Session *session, const gchar *server, gushort port)
}
return 0;
-#else
+#elif USE_THREADS
session->conn_id = sock_connect_async(server, port);
if (session->conn_id < 0) {
g_warning("can't connect to server.");
@@ -157,6 +156,15 @@ gint session_connect(Session *session, const gchar *server, gushort port)
}
return session_connect_cb(sock, session);
+#else /* !USE_THREADS */
+ sock = sock_connect(server, port);
+ if (sock == NULL) {
+ g_warning("can't connect to server.");
+ session->state = SESSION_ERROR;
+ return -1;
+ }
+
+ return session_connect_cb(sock, session);
#endif
}
@@ -348,7 +356,8 @@ static gint session_close(Session *session)
{
g_return_val_if_fail(session != NULL, -1);
-#ifdef G_OS_UNIX
+//#ifdef G_OS_UNIX
+#if 0
if (session->conn_id > 0) {
sock_connect_async_cancel(session->conn_id);
session->conn_id = 0;