Skip to content
  • John Hawthorn's avatar
    3fed62cf
    Reduce FILENAME_MAX_SIZE to accomodate large PIDs · 3fed62cf
    John Hawthorn authored
    The max size here is designed around Ruby's Dir::Tmpname.create which
    creates temporary filenames in the format
    
        $TIMESTAMP-$PID-$RANDOM
    
    I believe the previous value of this field was based on the assumption
    that PIDs are 1-65535, which isn't necessarily the case on 64 bit Linux
    systems, which can be up to 2**22.
    
        $ uname -a
        Linux zergling 5.4.11-arch1-1 #1 SMP PREEMPT Sun, 12 Jan 2020 12:15:27 +0000 x86_64 GNU/Linux
        $ cat /proc/sys/kernel/pid_max
        4194304
    
    I've chosen a new value based on what I believe the largest possible
    tempname is:
    
        255 - "20200117-4194304-#{0x100000000.to_s(36)}.lock".length #=> 226
    
    (cherry picked from commit a98f330f)
    3fed62cf
    Reduce FILENAME_MAX_SIZE to accomodate large PIDs
    John Hawthorn authored
    The max size here is designed around Ruby's Dir::Tmpname.create which
    creates temporary filenames in the format
    
        $TIMESTAMP-$PID-$RANDOM
    
    I believe the previous value of this field was based on the assumption
    that PIDs are 1-65535, which isn't necessarily the case on 64 bit Linux
    systems, which can be up to 2**22.
    
        $ uname -a
        Linux zergling 5.4.11-arch1-1 #1 SMP PREEMPT Sun, 12 Jan 2020 12:15:27 +0000 x86_64 GNU/Linux
        $ cat /proc/sys/kernel/pid_max
        4194304
    
    I've chosen a new value based on what I believe the largest possible
    tempname is:
    
        255 - "20200117-4194304-#{0x100000000.to_s(36)}.lock".length #=> 226
    
    (cherry picked from commit a98f330f)
Loading