[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] A question about cflow across threads
|
I think it is not a bug. cflow is intended to work in a single thread.
Regards,
Michael Nascimento Santos
https://genesis.dev.java.net/
On Wed, 9 Mar 2005 12:58:39 -0500 (EST), Pengcheng Wu <wupc@xxxxxxxxxxx> wrote:
> Dear all,
>
> I have a question about cflow pointcut across threads. Assume I have a
> program like this:
>
> class A {
> public static void main(String[] args) {
> A a = new A();
> a.foo();
> }
> public void foo() {
> Thread t = new MyThread(this);
> t.start();
> }
> public void bar() { test();}
> public void test() {}
> }
>
> class MyThread extends Thread {
> A a;
> public MyThread(A a) {this.a = a;}
> public void run() {
> a.bar();
> }
> }
>
> The only thing interesting here is that a thread is started in the body of
> method foo().
>
> If I have an aspect, say:
>
> aspect B {
> pointcut p(): call(* *.bar()) && cflow(call(* *.foo()));
> }
>
> Will p() capture the call to bar() during the execution? If it were single
> thread program, it will capture; but as a multi-thread program as shown
> above, it doesn't. I am trying to figure out why it is so or it is just a
> bug.
>
> Thanks a lot!
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Pengcheng Wu, PhD Student
> College of Computer and Information Science
> Northeastern University
> Boston, MA 02115, USA
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/aspectj-users
>