Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Languages / C# / October 2007

Tip: Looking for answers? Try searching our database.

Has somebody made a surveillance thread which doesn't die?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
lagu2653 - 25 Oct 2007 13:38 GMT
I have a log-in window application. When the user presses the cancel button
it kills another window by it's name and then it exits. The problem is that
if somebody kills the log-in window by terminating the process in the task
manager the other window is not killed.

One solution might be to have a surveillande thread which doesn't die when
the mother-thread dies, and can't be killed in the task manager. As soon as
the log-in window thread stops responding to surveillance messages it will
kill the other window and then exit.

Is this possible?

I've also tried to have a form which spawns another form, but in the Task
Manager there is only one entry (PasswordDialog.exe). If you kill this
process everything dies and the window which I want to kill when the log-in
window dies is not killed.
Peter Bromberg [C# MVP] - 25 Oct 2007 14:21 GMT
Don't understand why you need to go through this "killing the process"
business. If you've got a reference to the "other form", why not just close
it?
-- Peter
Recursion: see Recursion
site:  http://www.eggheadcafe.com
unBlog:  http://petesbloggerama.blogspot.com
BlogMetaFinder:    http://www.blogmetafinder.com

> I have a log-in window application. When the user presses the cancel button
> it kills another window by it's name and then it exits. The problem is that
[quoted text clipped - 12 lines]
> process everything dies and the window which I want to kill when the log-in
> window dies is not killed.
Ignacio Machin ( .NET/ C# MVP ) - 25 Oct 2007 15:43 GMT
Hi,

If somebody kills your "manager" app from the task manager I think it
receive a signal and only if no response is receive the scheduler simply
kill it.
 In any case if the process is forcibly terminated you have no opportunity
to do nothing and there is nothing you can do about.

Signature

Ignacio Machin
http://www.laceupsolutions.com
Mobile & warehouse Solutions.

>I have a log-in window application. When the user presses the cancel button
> it kills another window by it's name and then it exits. The problem is
[quoted text clipped - 15 lines]
> log-in
> window dies is not killed.
Peter Duniho - 25 Oct 2007 19:05 GMT
> I have a log-in window application. When the user presses the cancel button
> it kills another window by it's name and then it exits. The problem is that
[quoted text clipped - 7 lines]
>
> Is this possible?

Sure.  Anything is possible, depending only on how much time you want to
put into it and how much of the OS you want to rewrite.  :)

That said, your specific idea doesn't sound too hard.  But I question
the need for a separate "surveillance" thread that can't be killed in
the task manager.  There's no such thing in the OS (you can always stop
a process, and all threads exist within a process), so it would indeed
involve hacking the OS pretty severely to introduce that sort of thing.

IMHO, it would be better to just have the "other window" do the querying
of the login window.  Have it send a message to the login window every
half-second or so, asking if it should close.  The login window, if it
responds at all, will respond in the negative.  That is, it will tell
the other window not to close.

If the user presses the cancel button OR if the login window process is
terminated, the login window simply won't respond to the query.  In the
former case, the lack of a response will be by choice, in the latter by
necessity.  Either way, the other window won't get a response and will
know to close itself.

Designing it this way means you only have to implement a single
behavior, rather than relying on multiple pieces of code implementing
different algorithms to work well together.

The whole thing sounds a bit house-of-cards-ish (why is this
functionality split into two different processes in the first place?),
but assuming you really want something that does what you're talking
about, I see no need to add yet another process to the mix.

Pete

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.