+ %newobject connect_with_cond; /* connection is already ref'd, so we own it */
+ DirectTCPConnection *
+ connect_with_cond(gboolean for_writing, DirectTCPAddr *addrs,
+ GMutex *abort_mutex, GCond *abort_cond) {
+ DirectTCPConnection *conn = NULL;
+ gboolean rv;
+
+ rv = device_connect_with_cond(self, for_writing, addrs, &conn,
+ abort_mutex, abort_cond);
+ if (!rv && conn) {
+ /* conn is ref'd for our convenience, but we don't want it */
+ g_object_unref(conn);
+ conn = NULL;
+ }
+ return conn;
+ }
+