title: pthread_create is not accepting arguments
body: <p>I am trying to create a pthread and I am confused on the arguments required to create it. </p>
  
  <p>I am trying to pass multiple arguments into the entry function for the pthread and I encapsulated that into a struct. However, <code>pthread_create</code> is not accepting it.</p>
  
  <p>Here are the relevant parts of my code:</p>
  
  <pre><code>    Customer_Spawn_Params *params = (Customer_Spawn_Params*) malloc(sizeof(Customer_Spawn_Params));
      params-&gt;probability = chance;
      params-&gt;queue = queue;
  
      pthread_t customer_spawn_t;
      if (pthread_create(&amp;customer_spawn_t, NULL, enqueue_customers, &amp;params)) {
      }
  </code></pre>
  
  <p>And here is the <code>Customer_Spawn_Params</code> struct:</p>
  
  <pre><code> typedef struct {
          Queue *queue;
          double probability;
  } Customer_Spawn_Params;
  </code></pre>
  
  <p>Finally, here is the <code>enqueue_customers()</code> which accepts a pointer to <code>Customer_Spawn_Params</code> struct: </p>
  
  <pre><code>    void *enqueue_customers(Customer_Spawn_Params *params) {
          int customer_id = 0;
          double probability = params-&gt;probability;
          Queue *queue = params-&gt;queue;
          while(true) {
                  sleep(1);
                  bool next_customer = next_bool(probability);
                  if (next_customer) {
                          Customer *customer = (Customer*) malloc(sizeof(Customer));
                          customer-&gt;id = customer_id;
                          enqueue(queue, customer);
                          customer_id++;
                  }
          }
          return NULL;
  }
  </code></pre>