cURL hangs the hook_user_update
The HTTPRL project provides you with a non-blocking HTTP client. 

$url = url('http://admin.com/synch/index.php', array('query' =&gt; $query));
$username = 'admin_os';
$password = 'admin_pass';
$basic = base64_encode($username . ':' . $password);

httprl_request($url, array(
  'blocking' =&gt; FALSE,
  'headers' =&gt; array(
    'Authorization' =&gt; 'Basic '.$basic,
    'Host' =&gt; $_SERVER['HTTP_HOST']
   ),
));
$request = httprl_send_request();