Browse Source

receive results of connect

Anton Lebedevich 13 years ago
parent
commit
f0c518563a
2 changed files with 10 additions and 2 deletions
  1. 9 1
      src/pgsql.erl
  2. 1 1
      src/pgsql_sock.erl

+ 9 - 1
src/pgsql.erl

@@ -21,7 +21,15 @@ connect(Host, Username, Opts) ->
 
 
 connect(Host, Username, Password, Opts) ->
 connect(Host, Username, Password, Opts) ->
     {ok, C} = pgsql_sock:start_link(),
     {ok, C} = pgsql_sock:start_link(),
-    pgsql_sock:connect(C, Host, Username, Password, Opts).
+    Ref = pgsql_sock:connect(C, Host, Username, Password, Opts),
+    receive
+        {Ref, connected} ->
+            {ok, C};
+        {Ref, Error = {error, _}} ->
+            Error;
+        {'EXIT', C, _Reason} ->
+            {error, closed}
+    end.
 
 
 close(C) ->
 close(C) ->
     pgsql_sock:close(C).
     pgsql_sock:close(C).

+ 1 - 1
src/pgsql_sock.erl

@@ -279,7 +279,7 @@ initializing({$Z, <<Status:8>>}, State) ->
         {value, {_, <<"on">>}}  -> put(datetime_mod, pgsql_idatetime);
         {value, {_, <<"on">>}}  -> put(datetime_mod, pgsql_idatetime);
         {value, {_, <<"off">>}} -> put(datetime_mod, pgsql_fdatetime)
         {value, {_, <<"off">>}} -> put(datetime_mod, pgsql_fdatetime)
     end,
     end,
-    notify(State, done),
+    notify(State, connected),
     {noreply, State#state{handler = on_message,
     {noreply, State#state{handler = on_message,
                          txstatus = Status,
                          txstatus = Status,
                          queue = queue:drop(Queue)}};
                          queue = queue:drop(Queue)}};