Issue 16203 - std.signals connect() error
Summary: std.signals connect() error
Status: NEW
Alias: None
Product: D
Classification: Unclassified
Component: phobos (show other issues)
Version: D2
Hardware: x86_64 Linux
: P3 normal
Assignee: No Owner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-06-25 04:04 UTC by nmtigor.wang
Modified: 2024-12-01 16:27 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description nmtigor.wang 2016-06-25 04:04:18 UTC
Hello, 

my test codes are as follows:

==============
module dtest;

import std.signals;

struct SIG {}

class C1
{
  void watch( SIG ) {}
  void delegate(T1) createWatcher( T1 )() 
  {
  	return delegate void( T1 sig ) { watch( sig ); };
  }
}

class C2
{
  mixin Signal!SIG;
}

unittest
{
  auto c1 = new C1;
  auto c2 = new C2;  
  auto slot = c1.createWatcher!SIG;
  c2.connect( slot );
}
==============

When I run "rdmd -main -unittest dtest", it outputs following messages:

/tmp/.rdmd-1000/rdmd-dtest.d-1873AE3B357FD0F111512F17802663A4/dtest(_D4core7runtime18runModuleUnitTestsUZ19unittestSegvHandlerUNbiPS4core3sys5posix6signal9siginfo_tPvZv+0x38)[0x45f67c]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x113d0)[0x7f97e53a03d0]
段错误 (核心已转储)

These messages are too vague. The source code of connect() also looks magic. I have no idea of what's wrong.
Comment 1 dlangBugzillaToGithub 2024-12-01 16:27:20 UTC
THIS ISSUE HAS BEEN MOVED TO GITHUB

https://github.com/dlang/phobos/issues/10186

DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB