Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't use async in server code when it's more trouble than it's worth #3332

Closed
DartBot opened this issue May 31, 2012 · 4 comments
Closed

Don't use async in server code when it's more trouble than it's worth #3332

DartBot opened this issue May 31, 2012 · 4 comments
Labels
area-core-library SDK core library issues (core, async, ...); use area-vm or area-web for platform specific libraries. closed-not-planned Closed as we don't intend to take action on the reported issue library-io type-enhancement A request for a change that isn't a bug

Comments

@DartBot
Copy link

DartBot commented May 31, 2012

This issue was originally filed by jjinux...@google.com


In one of Seth Ladd's slides, he has this:

main() {
  File script = new File(new Options().script);
  script.directory().then((Directory d) {
    runServer(d.path);
  });
}

This requires an asynchronous callback to get d.path. As far as I know, UNIX doesn't actually have an asynchronous file API, so this must be using a thread under the covers. Using a thread in order to provide an asynchronous API with a callback makes both the implementation and the API a lot more complicated, and I don't think there's much benefit in this case.

@madsager
Copy link
Contributor

madsager commented Jun 1, 2012

You can always use script.directorySync() if you feel like it. The slide is correct as is. I'll let Seth decide if he wants to do anything about this. :-)


cc @sethladd.
Added Area-Site, Triaged labels.

@sethladd
Copy link
Contributor

sethladd commented Jun 1, 2012

Good point. I'll leave for now, because that's what I showed on stage. But in future I'll use sync methods where appropriate.


Removed Type-Defect label.
Added Type-Enhancement, WontFix labels.

@DartBot
Copy link
Author

DartBot commented Nov 2, 2012

This comment was originally written by jjinux...@google.com


Removed Area-Site label.
Added Area-IO label.

@kevmoo
Copy link
Member

kevmoo commented May 14, 2014

Removed Area-IO label.
Added Area-Library, Library-IO labels.

@DartBot DartBot added Type-Enhancement area-core-library SDK core library issues (core, async, ...); use area-vm or area-web for platform specific libraries. library-io labels May 14, 2014
@kevmoo kevmoo added closed-not-planned Closed as we don't intend to take action on the reported issue type-enhancement A request for a change that isn't a bug and removed resolution-wont_fix labels Mar 1, 2016
copybara-service bot pushed a commit that referenced this issue Mar 29, 2022
Changes:
```
> git log --format="%C(auto) %h %s" 8f5ab7b..94ae66a
 https://dart.googlesource.com/pub.git/+/94ae66a6 Refine what a relative uri means in a git path (#3212)
 https://dart.googlesource.com/pub.git/+/cc4c1292 Only call Package.listFiles once per publish. (#3346)
 https://dart.googlesource.com/pub.git/+/f4484073 Fix test/global/activate/git_package_test test on windows (#3361)
 https://dart.googlesource.com/pub.git/+/610ce7f2 Refactor descriptors (#3305)
 https://dart.googlesource.com/pub.git/+/953b6097 Substitute pub.dartlang.org for of pub.dev (#3358)
 https://dart.googlesource.com/pub.git/+/7a6ea396 Add support for pubspec overrides file (#3215)
 https://dart.googlesource.com/pub.git/+/8abfed9d Global activate git path and ref (#3356)
 https://dart.googlesource.com/pub.git/+/d1c0e3f9 Revert "Add flag controlling creation of `.packages` file. (#2757)" (#3357)
 https://dart.googlesource.com/pub.git/+/274f5ad9 Fix signals test (#3359)
 https://dart.googlesource.com/pub.git/+/83437005 Avoid failing in gitignore validator (#3354)
 https://dart.googlesource.com/pub.git/+/3082796f dependency_services: Don't download archives on apply (#3352)
 https://dart.googlesource.com/pub.git/+/48d0ffaf dependency_services: Use ^ constraints for widened intervals when possible (#3349)
 https://dart.googlesource.com/pub.git/+/826e2086 Remove obsolete test (#3347)
 https://dart.googlesource.com/pub.git/+/35e5140b Bump analyzer from 2.8.0 to 3.3.1 (#3341)
 https://dart.googlesource.com/pub.git/+/52f2bdc2 Enable dependabot (#3340)
 https://dart.googlesource.com/pub.git/+/1e70c0c7 Remove `uploader` command (#3335)
 https://dart.googlesource.com/pub.git/+/3174a264 Warn if git version is not high enough for supporting all features (#3332)
 https://dart.googlesource.com/pub.git/+/3f7a3cb7 Don't analyze ignored directories in directory-validator (#3331)
 https://dart.googlesource.com/pub.git/+/e8f36614 Allow use of token for talking to pub.dev (#3330)
 https://dart.googlesource.com/pub.git/+/b93bf88f Upgrade `package:tar` to version `0.5.4`. (#3313)
 https://dart.googlesource.com/pub.git/+/fbc9732e Support for different versioning strategies in dependency_services (#3320)
 https://dart.googlesource.com/pub.git/+/93c7cfcd Update repository-spec-v2.md (#3311)
 https://dart.googlesource.com/pub.git/+/941191f7 dependency_services (#3304)
 https://dart.googlesource.com/pub.git/+/61175cb6 fix: relative to the current directory rules (#3297)
 https://dart.googlesource.com/pub.git/+/f27e90d3 Upgrade other versions conservatively with --major-versions (#3295)
 https://dart.googlesource.com/pub.git/+/a2461417 Add flag controlling creation of `.packages` file. (#2757)

```

Diff: https://dart.googlesource.com/pub.git/+/8f5ab7b1aba3b9f66b56246d77e167990339d317~..94ae66a660cc187cc46ceaf1ab96bdcf8d48a313/
Change-Id: I121fa281ad77991ef10938a3c228ce1d62e748db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/238901
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
copybara-service bot pushed a commit that referenced this issue Mar 29, 2022
This reverts commit 6e00bb1.

Reason for revert: https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/flutter-engine-linux/16089/overview

Original change's description:
> Bump pub to 94ae66a660cc187cc46ceaf1ab96bdcf8d48a313
>
> Changes:
> ```
> > git log --format="%C(auto) %h %s" 8f5ab7b..94ae66a
>  https://dart.googlesource.com/pub.git/+/94ae66a6 Refine what a relative uri means in a git path (#3212)
>  https://dart.googlesource.com/pub.git/+/cc4c1292 Only call Package.listFiles once per publish. (#3346)
>  https://dart.googlesource.com/pub.git/+/f4484073 Fix test/global/activate/git_package_test test on windows (#3361)
>  https://dart.googlesource.com/pub.git/+/610ce7f2 Refactor descriptors (#3305)
>  https://dart.googlesource.com/pub.git/+/953b6097 Substitute pub.dartlang.org for of pub.dev (#3358)
>  https://dart.googlesource.com/pub.git/+/7a6ea396 Add support for pubspec overrides file (#3215)
>  https://dart.googlesource.com/pub.git/+/8abfed9d Global activate git path and ref (#3356)
>  https://dart.googlesource.com/pub.git/+/d1c0e3f9 Revert "Add flag controlling creation of `.packages` file. (#2757)" (#3357)
>  https://dart.googlesource.com/pub.git/+/274f5ad9 Fix signals test (#3359)
>  https://dart.googlesource.com/pub.git/+/83437005 Avoid failing in gitignore validator (#3354)
>  https://dart.googlesource.com/pub.git/+/3082796f dependency_services: Don't download archives on apply (#3352)
>  https://dart.googlesource.com/pub.git/+/48d0ffaf dependency_services: Use ^ constraints for widened intervals when possible (#3349)
>  https://dart.googlesource.com/pub.git/+/826e2086 Remove obsolete test (#3347)
>  https://dart.googlesource.com/pub.git/+/35e5140b Bump analyzer from 2.8.0 to 3.3.1 (#3341)
>  https://dart.googlesource.com/pub.git/+/52f2bdc2 Enable dependabot (#3340)
>  https://dart.googlesource.com/pub.git/+/1e70c0c7 Remove `uploader` command (#3335)
>  https://dart.googlesource.com/pub.git/+/3174a264 Warn if git version is not high enough for supporting all features (#3332)
>  https://dart.googlesource.com/pub.git/+/3f7a3cb7 Don't analyze ignored directories in directory-validator (#3331)
>  https://dart.googlesource.com/pub.git/+/e8f36614 Allow use of token for talking to pub.dev (#3330)
>  https://dart.googlesource.com/pub.git/+/b93bf88f Upgrade `package:tar` to version `0.5.4`. (#3313)
>  https://dart.googlesource.com/pub.git/+/fbc9732e Support for different versioning strategies in dependency_services (#3320)
>  https://dart.googlesource.com/pub.git/+/93c7cfcd Update repository-spec-v2.md (#3311)
>  https://dart.googlesource.com/pub.git/+/941191f7 dependency_services (#3304)
>  https://dart.googlesource.com/pub.git/+/61175cb6 fix: relative to the current directory rules (#3297)
>  https://dart.googlesource.com/pub.git/+/f27e90d3 Upgrade other versions conservatively with --major-versions (#3295)
>  https://dart.googlesource.com/pub.git/+/a2461417 Add flag controlling creation of `.packages` file. (#2757)
>
> ```
>
> Diff: https://dart.googlesource.com/pub.git/+/8f5ab7b1aba3b9f66b56246d77e167990339d317~..94ae66a660cc187cc46ceaf1ab96bdcf8d48a313/
> Change-Id: I121fa281ad77991ef10938a3c228ce1d62e748db
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/238901
> Reviewed-by: Jonas Jensen <jonasfj@google.com>
> Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>

TBR=sigurdm@google.com,jonasfj@google.com

Change-Id: I2402e8647ad79a613d8be55a85a7f05f511a4081
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/239301
Reviewed-by: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
copybara-service bot pushed a commit that referenced this issue Mar 30, 2022
Changes:
```
> git log --format="%C(auto) %h %s" 8f5ab7b..a3a102a
 https://dart.googlesource.com/pub.git/+/a3a102a5 Fix equality and hashcode for the sdk descriptors (#3367)
 https://dart.googlesource.com/pub.git/+/94ae66a6 Refine what a relative uri means in a git path (#3212)
 https://dart.googlesource.com/pub.git/+/cc4c1292 Only call Package.listFiles once per publish. (#3346)
 https://dart.googlesource.com/pub.git/+/f4484073 Fix test/global/activate/git_package_test test on windows (#3361)
 https://dart.googlesource.com/pub.git/+/610ce7f2 Refactor descriptors (#3305)
 https://dart.googlesource.com/pub.git/+/953b6097 Substitute pub.dartlang.org for of pub.dev (#3358)
 https://dart.googlesource.com/pub.git/+/7a6ea396 Add support for pubspec overrides file (#3215)
 https://dart.googlesource.com/pub.git/+/8abfed9d Global activate git path and ref (#3356)
 https://dart.googlesource.com/pub.git/+/d1c0e3f9 Revert "Add flag controlling creation of `.packages` file. (#2757)" (#3357)
 https://dart.googlesource.com/pub.git/+/274f5ad9 Fix signals test (#3359)
 https://dart.googlesource.com/pub.git/+/83437005 Avoid failing in gitignore validator (#3354)
 https://dart.googlesource.com/pub.git/+/3082796f dependency_services: Don't download archives on apply (#3352)
 https://dart.googlesource.com/pub.git/+/48d0ffaf dependency_services: Use ^ constraints for widened intervals when possible (#3349)
 https://dart.googlesource.com/pub.git/+/826e2086 Remove obsolete test (#3347)
 https://dart.googlesource.com/pub.git/+/35e5140b Bump analyzer from 2.8.0 to 3.3.1 (#3341)
 https://dart.googlesource.com/pub.git/+/52f2bdc2 Enable dependabot (#3340)
 https://dart.googlesource.com/pub.git/+/1e70c0c7 Remove `uploader` command (#3335)
 https://dart.googlesource.com/pub.git/+/3174a264 Warn if git version is not high enough for supporting all features (#3332)
 https://dart.googlesource.com/pub.git/+/3f7a3cb7 Don't analyze ignored directories in directory-validator (#3331)
 https://dart.googlesource.com/pub.git/+/e8f36614 Allow use of token for talking to pub.dev (#3330)
 https://dart.googlesource.com/pub.git/+/b93bf88f Upgrade `package:tar` to version `0.5.4`. (#3313)
 https://dart.googlesource.com/pub.git/+/fbc9732e Support for different versioning strategies in dependency_services (#3320)
 https://dart.googlesource.com/pub.git/+/93c7cfcd Update repository-spec-v2.md (#3311)
 https://dart.googlesource.com/pub.git/+/941191f7 dependency_services (#3304)
 https://dart.googlesource.com/pub.git/+/61175cb6 fix: relative to the current directory rules (#3297)
 https://dart.googlesource.com/pub.git/+/f27e90d3 Upgrade other versions conservatively with --major-versions (#3295)
 https://dart.googlesource.com/pub.git/+/a2461417 Add flag controlling creation of `.packages` file. (#2757)

```

Diff: https://dart.googlesource.com/pub.git/+/8f5ab7b1aba3b9f66b56246d77e167990339d317~..a3a102a549388a6dbfecc9252fabb618f9a2f5f7/
Change-Id: I8d0ea375039ea450d397871d9fac35d590ea8869
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/239315
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
copybara-service bot pushed a commit that referenced this issue Feb 13, 2023
…, http_parser, pub_semver, shelf, term_glyph, test, typed_data, webdev

Revisions updated by `dart tools/rev_sdk_deps.dart`.

args (https://github.com/dart-lang/args/compare/bd3ac85..b08471e):
  b08471e  2023-02-09  Sigurd Meldgaard  Suggest command based on aliases (#235)

bazel_worker (https://github.com/dart-lang/bazel_worker/compare/1124692..53871c5):
  53871c5  2023-02-09  Kevin Moore  Migrate to dart_flutter_team_lints, cleanup (#69)

benchmark_harness (https://github.com/dart-lang/benchmark_harness/compare/b1efcf7..a6a0891):
  a6a0891  2023-02-09  Kevin Moore  Require Dart 2.19, update lints to dart_flutter_team_lints (#84)

dartdoc (https://github.com/dart-lang/dartdoc/compare/494a6be..3931595):
  39315954  2023-02-13  Devon Carew  enable additional lints (#3336)
  a52639e7  2023-02-10  Sam Rawlins  Use markdown 7 (#3332)

glob (https://github.com/dart-lang/glob/compare/a828420..f378dc8):
  f378dc8  2023-02-13  Kevin Moore  Update to dart_flutter_team_lints, also cleaned up markdown (#71)

http (https://github.com/dart-lang/http/compare/8386923..f4b365e):
  f4b365e  2023-02-07  Sigurd Meldgaard  Remove dependency on package:path (#865)

http_parser (https://github.com/dart-lang/http_parser/compare/1c0c17a..b3b283b):
  b3b283b  2023-02-08  Kevin Moore  Bump min SDK to 2.17 (#69)

pub_semver (https://github.com/dart-lang/pub_semver/compare/e9c600c..c0e6ea7):
  c0e6ea7  2023-02-12  Devon Carew  Update CHANGELOG.md (#81)
  0d62000  2023-02-12  Kevin Moore  Fix new type error, use dart_flutter_team_lints (#80)

shelf (https://github.com/dart-lang/shelf/compare/9d1fb8a..707c8b2):
  707c8b2  2023-02-07  Kevin Moore  move to pkg:dart_flutter_team_lints (#330)

term_glyph (https://github.com/dart-lang/term_glyph/compare/520784d..d275a8f):
  d275a8f  2023-02-12  Kevin Moore  Fix CI, update lints (#34)

test (https://github.com/dart-lang/test/compare/da7c667..b5e70db):
  b5e70db5  2023-02-10  Jacob MacDonald  Add notes about versioning and publishing to CONTRIBUTING.md (#1929)
  2773daa6  2023-02-09  Jacob MacDonald  update changelog version in test to use ## (#1926)
  9e3072e1  2023-02-09  Danny Tuppeny  Handle absolute paths on Windows (#1923)
  07380027  2023-02-09  Nicholas Shahan  Fix typo in migration doc (#1924)
  f49fc16a  2023-02-09  Kevin Moore  Add auto-publish configuration (#1922)
  5bf28959  2023-02-08  Nate Bosch  Add link to file issue on README (#1921)
  ef81f471  2023-02-08  Nate Bosch  Fix directory name for issue templates (#1920)
  f3bfda9d  2023-02-08  Nate Bosch  Add issue templates (#1919)
  a80f4fd0  2023-02-08  Devon Carew  Refactor top level and package README files (#1918)
  0f4558fe  2023-02-07  Nate Bosch  Prepare to publish test_core and test (#1917)
  39f498c8  2023-02-06  Nate Bosch  Minor readme improvements (#1913)
  2cb07a3f  2023-02-06  Nate Bosch  Rename matches to matchesPattern, accept Pattern (#1907)
  ba6fb1c9  2023-02-06  Jacob MacDonald  Support running tests by absolute file: uri (#1893)
  ffeaec66  2023-02-06  Nate Bosch  Take Condition for async nesting expectations (#1896)
  cdd8c395  2023-02-06  Daniel Chevalier  update vm_service to support 11.0.0 (#1910)
  f2d97bf2  2023-02-06  Nate Bosch  Expand the doc comment for Context (#1902)

typed_data (https://github.com/dart-lang/typed_data/compare/6fbbd95..f858046):
  f858046  2023-02-12  Kevin Moore  fix ci, update analysis options (#61)

webdev (https://github.com/dart-lang/webdev/compare/6255c85..0bae2be):
  0bae2be  2023-02-10  Elliott Brooks (she/her)  Fix lifeline connection logic (#1952)
  4a41cf9  2023-02-10  Anna Gringauze  Support records (#1919)
  d6229e3  2023-02-09  Anna Gringauze  Fix failure on getting a list with out of range offset (#1947)
  f1b15e8  2023-02-09  Anna Gringauze  Fix incorrect list element count (#1944)
  fff4865  2023-02-09  Elliott Brooks (she/her)  Add missing IDs to inspector panel (#1946)
  47287e3  2023-02-08  Elliott Brooks (she/her)  [MV3 Debug Extension] Extension sets the `ide` query parameter for the DevTools URI (#1943)
  1136d51  2023-02-08  Elliott Brooks (she/her)  Catch exceptions in unawaited `Futures` (#1938)
  2cad786  2023-02-07  Anna Gringauze  Cleanup getObject logic for handling offsets and counts (#1936)
  b399e94  2023-02-06  Elliott Brooks (she/her)  Pull out `dart:io`-dependent functions from`/src/utilities/shared.dart` into
`/src/utilities/server.dart` (#1942)

Change-Id: I64bdc5485665ca4c13a331ae7a6c77b1cd3208d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282802
Commit-Queue: Devon Carew <devoncarew@google.com>
Auto-Submit: Devon Carew <devoncarew@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-core-library SDK core library issues (core, async, ...); use area-vm or area-web for platform specific libraries. closed-not-planned Closed as we don't intend to take action on the reported issue library-io type-enhancement A request for a change that isn't a bug
Projects
None yet
Development

No branches or pull requests

4 participants