1. C++ / Говнокод #19604

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    void checklock(globalMemManager *c)
    	{
    		if (!c->isThread) return;
    		_voidint idl=c->isThread();
    #ifdef THREADDEBUG
    		assert(idl!=0);
    #endif
    		while (idl==0 && c->lock());
    		if (idl!=0) while (true) {
    			while (c->lockId()!=idl) {
    				c->canLeave()=idl;
    			}
    			if (c->lock()) break;
    		}
    		c->lock()=true;
    	}
    
    	void unlock(globalMemManager *c)
    	{
    		if (!c->isThread) return;
    		c->lock()=false;
    #ifdef THREADDEBUG
    		assert(c->lockId()==c->isThread());
    #endif
    		c->canLeave()=0;
    		c->lockId()=0;
    	}
    
    
    	void globalMemManager::manage()
    	{
    		if (!lock()) if (lockId()==0 && canLeave()!=0) {
    			if (!lock()) lock()=true;
    			lockId()=canLeave();
    		}
    	}

    Лучшее

    Запостил: foxes, 10 Марта 2016

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

    • и не забываем про первоисточник сего маразма http://govnokod.ru/19596
      Ответить
      • и не забываем про первоисточник сего маразма - компилятор с++
        Ответить
        • Да писал какой то Пантелеймонов Александр Константинович.
          Ответить

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