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

Garbage collection does not trigger sigGC #26

Closed
1 of 5 tasks
JohnReppy opened this issue Jul 15, 2022 · 0 comments
Closed
1 of 5 tasks

Garbage collection does not trigger sigGC #26

JohnReppy opened this issue Jul 15, 2022 · 0 comments
Assignees
Labels
bug Something isn't working fixed-in-2022.1 issue is fixed in the 2022.1 release gforge bug (or feature request) ported from smlnj-gforge repository

Comments

@JohnReppy
Copy link
Contributor

JohnReppy commented Jul 15, 2022

Version

110.72

Operating System

  • All
  • Linux
  • macOS
  • Windows
  • Other Unix

OS Version

OS X 10.6.6

Processor

x86 (32-bit)

Component

Other

Severity

Minor

Description of the problem

A signal handler set to run when sigGC is triggered does not appear to run when forcing GC.

Transcript

rlwrap sml
Standard ML of New Jersey v110.72 [built: Wed Jan 26 00:56:21 2011]
- open Signals;
[autoloading]
[library $SMLNJ-BASIS/basis.cm is stable]
[autoloading done]
opening Signals
  eqtype signal
  datatype sig_action
    = DEFAULT
    | HANDLER of signal * int * unit ?.Cont.cont - unit ?.Cont.cont
    | IGNORE
  val listSignals : unit - signal list
  val toString : signal - string
  val fromString : string - signal option
  val setHandler : signal * sig_action - sig_action
  val overrideHandler : signal * sig_action - sig_action
  val inqHandler : signal - sig_action
  datatype sigmask = MASK of signal list | MASKALL
  val maskSignals : sigmask - unit
  val unmaskSignals : sigmask - unit
  val masked : unit - sigmask
  val pause : unit - unit
  val sigINT : signal
  val sigALRM : signal
  val sigTERM : signal
  val sigGC : signal
- setHandler (sigGC, HANDLER (fn (_, _, k) = (print **** GC ****\n; k)));
val it = IGNORE : sig_action
- SMLofNJ.Internals.GC.doGC 100000;
[autoloading]
[autoloading done]
val it = () : unit

Expected Behavior

No response

Steps to Reproduce

(* From the REPL *)
open Signals;
setHandler (sigGC, HANDLER (fn (_, _, k) => (print "**** GC ****\n"; k)));
SMLofNJ.Internals.GC.doGC 100000;

Additional Information

No response

Email address

ivan.tomac@gmail.com

Comments from smlnj-gforge

Original smlnj-gforge bug number 65

Submitted via web form by Ivan Tomac ivan.tomac@gmail.com on 2011-07-02 at 23:0700

Keywords: GC, Signals

comment by @JohnReppy on 2022-04-01 23:0400 +000 UTC

Also see #291

comment by @JohnReppy on 2022-19-27 15:1900 +000 UTC

Fixed for 110.99.3 and 2022.1.

@JohnReppy JohnReppy added bug Something isn't working gforge bug (or feature request) ported from smlnj-gforge repository labels Jul 15, 2022
@JohnReppy JohnReppy self-assigned this Jul 15, 2022
@JohnReppy JohnReppy added the fixed-in-2022.1 issue is fixed in the 2022.1 release label Aug 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working fixed-in-2022.1 issue is fixed in the 2022.1 release gforge bug (or feature request) ported from smlnj-gforge repository
Projects
None yet
Development

No branches or pull requests

1 participant