Skip to content

Error while creating daemon folder: daemon already exists #359

@kern3l-pan1c

Description

@kern3l-pan1c

Issue:
On a fresh machine (where node-windows has never run before), if I initiate two or more installs (of different services) simultaneously, we see an intermittent issue where:

  1. For one or more installs, fs.exists (
    fs.exists(dir, function (exists) {
    ) does not find the daemon folder (because nod-windows has not been run yet and daemon folder is actually not there).
  2. Since fs.exists is async (also deprecated), all calls in step 1 will try to create the daemon folder.
  3. This leads to a collision where all the installs after the first one (whoever gets to create daemon folder) will fail with an error saying daemon folder already exists.

How To Reproduce:
Give multiple install commands simultaneously.

Expected Behavior:
daemon folder should be created without errors and services should get installed.

Desktop:

  • OS: Windows 11

Probable Fix:
We should be using the fs.existsSync function instead of fs.exists at

fs.exists(dir, function (exists) {

@coreybutler if you want, I can raise a PR with this fix

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions