title: /* ARGSUSED */ and other special comments
body: <p>I've searched on SO and googled but I don't get meanings of them. What are they and their purposes? When are they used? I think that maybe I'm too late to see them in modern-day programming and in my generation.</p>
  
  <p>Some of them AFAIS,</p>
  
  <ul>
  <li><a href="https://opensource.apple.com/source/xnu/xnu-344.49/bsd/dev/ppc/cons.c" rel="noreferrer">/* ARGSUSED */</a> </li>
  <li><a href="https://opensource.apple.com/source/gcc/gcc-926/libiberty/concat.c" rel="noreferrer">/* VARARGS */</a> </li>
  <li><a href="ftp://podaac.jpl.nasa.gov/allData/gosta_plus/retired/L2/hdf/HDFlib/pc/src/mfhdf/libsrc/error.c" rel="noreferrer">/* LINTLIBRARY */</a> </li>
  <li><a href="http://cpansearch.perl.org/src/LEONT/App-a2p-1.009/hash.c" rel="noreferrer">/* NOSTRICT */</a></li>
  </ul>
  
  <p>Example code with <em>/* ARGSUSED */</em></p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;string.h&gt;
  #include &lt;unistd.h&gt;
  #include &lt;pthread.h&gt;
  #define BUFSIZE 1024
  #define TEN_MILLION 10000000L
  
  
  /* ARGSUSED */
  void *threadout(void *args) {
      char buffer[BUFSIZE];
      char *c;
      struct timespec sleeptime;
  
      sleeptime.tv_sec = 0;
      sleeptime.tv_nsec = TEN_MILLION;
      snprintf(buffer, BUFSIZE, "This is a thread from process %ld\n",
               (long)getpid());
      c = buffer;
      /*****************start of critical section ********************/
      while (*c != '\0') {
          fputc(*c, stderr);
          c++;
          nanosleep(&amp;sleeptime, NULL);
      }
      /*******************end of critical section ********************/
      return NULL;
  }
  
  
  int main(int argc, char *argv[]) {
      int error;
      int i;
      int n;
      pthread_t *tids;
  
      if (argc != 2){   /* check for valid number of command-line arguments */
          fprintf (stderr, "Usage: %s numthreads\n", argv[0]);
          return 1;
      }
      n = atoi(argv[1]);
      tids = (pthread_t *)calloc(n, sizeof(pthread_t));
      if (tids == NULL) {
          perror("Failed to allocate memory for thread IDs");
          return 1;
      }
      for (i = 0; i &lt; n; i++)
          if (error = pthread_create(tids+i, NULL, threadout, NULL)) {
              fprintf(stderr, "Failed to create thread:%s\n", strerror(error));
              return 1;
          }
      for (i = 0; i &lt; n; i++)
          if (error = pthread_join(tids[i], NULL)) {
              fprintf(stderr, "Failed to join thread:%s\n", strerror(error));
              return 1;
          }
      return 0;
  }
  </code></pre>