Commit 9a239edb authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

updated to use the modified share-types

parent abcc5c5a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@

#define CURL_SHARE_GET(__handle) (((struct SessionHandle *) (__handle))->share)

curl_share *
CURLSH *
curl_share_init (void)
{
  curl_share *share = (curl_share *) malloc (sizeof (curl_share));
+13 −2
Original line number Diff line number Diff line
@@ -34,8 +34,19 @@ typedef enum {
  SHARE_ERROR_LAST
} Curl_share_error;

Curl_share_error Curl_share_aquire_lock (CURL *, curl_lock_type);
Curl_share_error Curl_share_release_lock (CURL *, curl_lock_type);
/* this struct is libcurl-private, don't export details */
struct Curl_share {
  unsigned int specifier;
  unsigned int locked;
  unsigned int dirty;
  
  curl_lock_function lockfunc;
  curl_unlock_function unlockfunc;
  void *clientdata;
};

Curl_share_error Curl_share_aquire_lock (CURL *, curl_lock_data);
Curl_share_error Curl_share_release_lock (CURL *, curl_lock_data);

#endif /* __CURL_SHARE_H */

+3 −2
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@
#include "strequal.h"
#include "escape.h"
#include "strtok.h"
#include "share.h"

/* And now for the protocols */
#include "ftp.h"
@@ -1071,8 +1072,8 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...)

  case CURLOPT_SHARE:
    {
      curl_share *set;
      set = va_arg(param, curl_share *);
      struct Curl_share *set;
      set = va_arg(param, struct Curl_share *);
      if(data->share)
        data->share->dirty--;

+1 −1
Original line number Diff line number Diff line
@@ -765,7 +765,7 @@ struct UserDefined {

struct SessionHandle {
  curl_hash *hostcache;
  curl_share *share;           /* Share, handles global variable mutexing */
  struct Curl_share *share;    /* Share, handles global variable mutexing */
  struct UserDefined set;      /* values set by the libcurl user */
  struct DynamicStatic change; /* possibly modified userdefined data */