Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
  • A Armagetron Advanced
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 30
    • Issues 30
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Armagetron Advanced
  • Armagetron Advanced
  • Issues
  • #13
Closed
Open
Created May 26, 2020 by Manuel Moos@zmanuelOwner

Socket and unclean exit trouble due to fork(), execve() and exit() interaction

The fork blocks the main network sockets of the primary process and probably does bad things to files and output once the script finishes.

Steps to reproduce: In a server build directory

mkdir -p scripts
echo "" > scripts/noscript
<start server>
SPAWN_SCRIPT noscript

The other side of the bug is that running servers block sockets.

mkdir -p scripts
echo "sleep 9000" > scripts/longtime
<start server>
SPAWN_SCRIPT longtime
<connect with client, leave>

the server will not be able to reclaim its original port after its nap.

Edited May 27, 2020 by Manuel Moos
Assignee
Assign to
Time tracking