1. Си / Говнокод #12574

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    void *threadFunc(void *)
    {
    	// ...
    	pthread_exit( (void*)lTaskId );
    	return ( (void*)lTaskId );
    	// ...
    }

    позабавило.

    для непосвященных: return в функции потока аналогичен вызову pthread_exit().

    Запостил: Dummy00001, 11 Февраля 2013

    Комментарии (3) RSS

    • Для верности.

      "Последнее китайское предупреждение: выходи уже из потока, блджад!"
      Ответить
      • lTaskId может не принадлежать конкретному экземпляру потока threadFunc .
        Нужно смотреть какие параметры передаются при старте потока.
        Ответить
        • локальная переменная. значение всегда ноль. возвращаемое значение нигде не перехватывается и не анализируется.

          в главном потоке lTaskId используется как индекс в массив pthread_t[] запущеных потоков, но в самих потоках это значение и не известно, и не нужно.
          Ответить

    Добавить комментарий