Closed ing-eoking closed 5 months ago
in_use
λ³μμ λν λΉκ΅ λ‘μ§μ λͺ¨λ λ΄λΆλ‘ μ΄λμν€λ κ²μ λν΄ μ견 μ£Όμλ©΄ μ’κ² μ΅λλ€.
μλ₯Ό λ€μ΄, cmdlog_write()
λ₯Ό μλμ κ°μ΄ λ³κ²½νλ©΄ μ΄λ€κ° νλ κ²μ
λλ€.
-bool cmdlog_write()
+void cmdlog_write()
{
+ if (!cmdlog_in_use) return;
/* . . . */
if (! cmdlog.on_logging) {
- return false;
+ cmdlog_in_use = false; return;
}
/* . . . */
- return true;
}
call stackμ΄ ν λ¨κ³ λμ΄λλ λ¬Έμ κ° μκΈ°λ νμ§λ§, νΈμΆλΆμ ꡬνμ ν¨μ¬ κ°κ²°νκ² μ μ§ν μ μμ κ²μ λλ€.
if (cmdlog_in_use) {
if (cmdlog_write(c->client_ip, command) == false) {
cmdlog_in_use = false;
}
}
cmdlog_write(c->client_ip, command)
@ing-eoking @namsic
command logging κ΄λ ¨νμ¬ minor refactoring μ§ννμμΌλ, μ°Έκ³ λ°λλλ€.
μλμ κ°μ λ³μκ° μλ λ°, ꡬλΆνμ¬ μ¬μ©νλ κ²μ΄ μ’μ μ§λ νμΈνμκ³ ,
cmdlog_in_useλ cmdlog λͺ¨λ μμμ μ€μ νκ³ , extern λ³μλ‘ μ‘°νλ§ νκ² λ§λ€λ©΄ μ’κ² μ΅λλ€. μλ κ²½μ°λ§ μ¬μ©λ κ² κ°μ΅λλ€.
if (cmdlog_in_use) {
if (cmdlog_write(c->client_ip, command) == false) {
cmdlog_in_use = false;
}
}
ν¨μ νΈμΆμ μ€μ΄κΈ° μν΄ cmdlog_in_use λ³μλ λλ κ²μ΄ λ«μ§ μλ μκ°ν©λλ€. μ΄λ€κ°μ? cmdlog_write() ν¨μλ₯Ό νμ νΈμΆνκ³ κ·Έ μμμ κ²μ¬νλ€λ©΄ cmdlog_in_use μμ²΄κ° νμ μμ§λ§ μ±λ₯ μ λΆλ¦¬ν μ μμ΅λλ€.
ν¨μ νΈμΆμ μ€μ΄κΈ° μν΄ cmdlog_in_use λ³μλ λλ κ²μ΄ λ«μ§ μλ μκ°ν©λλ€. μ΄λ€κ°μ? cmdlog_write() ν¨μλ₯Ό νμ νΈμΆνκ³ κ·Έ μμμ κ²μ¬νλ€λ©΄ cmdlog_in_use μμ²΄κ° νμ μμ§λ§ μ±λ₯ μ λΆλ¦¬ν μ μμ΅λλ€.
μ½κ°μ μ±λ₯ μ νλ₯Ό κ°μνλλΌλ cmdlog_in_useλ₯Ό λμ§ μλ νΈμ΄ μ½λ ꡬ쑰λ₯Ό λ¨μννλ λ° λμμ΄ λ κ² κ°μμ μ΄μ μ½λ©νΈλ₯Ό λ¨κ²Όλλ°μ. ν¨μ νΈμΆ λΉμ©μ΄ μ±λ₯μ μΌλ§λ μν₯μ μ£Όλμ§κΉμ§ μΆ©λΆν νμΈνκ³ μ견μ λλ κ²μ μλλΌμ μ±λ₯ μ νκ° λ¬΄μν μ μλ μμ€μ΄λΌλ©΄ cmdlog_in_useλ₯Ό μ μ§νλ κ²μ΄ μ’κ² μ΅λλ€.
μλμ κ°μ λ³μκ° μλ λ°, ꡬλΆνμ¬ μ¬μ©νλ κ²μ΄ μ’μ μ§λ νμΈνμκ³ , cmdlog_in_use cmdlog.on_logging
λμ κ°μ κΈ°λ₯μ λ΄λΉνλ λ³μμ΄κΈ°μ cmdlog.on_loggingμ cmdlog_in_useλ‘ ν©μΉλ κ²μ΄ μ’μ κ² κ°μ΅λλ€. ~νμ§λ§ λμμ±μ μν μΆ©λ κ°λ₯μ±μ΄ μμΌλ―λ‘ νμΈμ΄ νμν κ² κ°μ΅λλ€.~ cmdlog.on_loggingμμ writeλ λͺ¨λ lockμ μ‘κ³ μλ κ²μ νμΈνμ΅λλ€.
@jhpark816
cmdlog.on_logging μ cmdlog_in_useλ‘ λ³κ²½νκ³ , memcached.cμμλ readλ§ νλ©΄ λ κ² κ°μ΅λλ€.
μμ λμμ΅λλ€.
@namsic μμ 2κ°μ§ μ¬νμ λν΄ μ견 νλ² μ£Όμμ£ .
μ©μ΄ λ³κ²½μ λ€μμ λ€λ₯Έ κΈ°λ₯κ³Ό ν¨κ» λ€λ£¨λλ‘ νκ² μ΅λλ€.
π Related Issue
β¨οΈ What I did
π€ Others