You have already got the correct response about using the panic() api. But only a thing about what you had written in your previous solution:
"for(;;) schedule();"
This will infinitely schedule out your module process until it gets
scheduled again!!
This is like a sleeping while loop. Thats the reason you cannot remove the
module as
it still holds the reference and won't be cleaned up.
If you hit an ASSERT situation, you need to print debug/backtrace
information
and either unload i.e module_exit or allow it to panic after you have all
the debug info.
-sv
On Wed, Jun 13, 2007 at 3:42 PM, John Matthews <[EMAIL PROTECTED]> wrote:
> Hi- I'm wanting to implement an assert() for linux kernel C code, in
> which assert.h assert() isn't available, and AFAIK there isn't a
> standard alternative (please correct me if I'm wrong).
>
> The basic printing of the error message is simple enough. However, I'm
> not sure what to do after that- you can't exit() from a kernel module
> (AFAIK...). I've tried going into a loop:
>
>
> for (;;) schedule();
>
> but that prevents the module from being removed (using rmmod) and
> stops my PC from shutting down cleanly.
>
> Any suggestions would be appreciated.
>
> Cheers
> John
>
> Messages in this topic
> <http://groups.yahoo.com/group/c-prog/message/62603;_ylc=X3oDMTM2aDhiY3VqBF9TAzk3MzU5NzE0BGdycElkAzEwMTMxMzkEZ3Jwc3BJZAMxNzA1MDA2Nzg4BG1zZ0lkAzYyNjAzBHNlYwNmdHIEc2xrA3Z0cGMEc3RpbWUDMTE4MTcyOTYyMQR0cGNJZAM2MjYwMw-->(
> 1) Reply (via web post)
> <http://groups.yahoo.com/group/c-prog/post;_ylc=X3oDMTJxdWQzNWVxBF9TAzk3MzU5NzE0BGdycElkAzEwMTMxMzkEZ3Jwc3BJZAMxNzA1MDA2Nzg4BG1zZ0lkAzYyNjAzBHNlYwNmdHIEc2xrA3JwbHkEc3RpbWUDMTE4MTcyOTYyMQ--?act=reply&messageNum=62603>|
> Start
> a new topic
> <http://groups.yahoo.com/group/c-prog/post;_ylc=X3oDMTJlYWd0MTYxBF9TAzk3MzU5NzE0BGdycElkAzEwMTMxMzkEZ3Jwc3BJZAMxNzA1MDA2Nzg4BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTE4MTcyOTYyMQ-->
>
> Messages<http://groups.yahoo.com/group/c-prog/messages;_ylc=X3oDMTJlam0yNHFxBF9TAzk3MzU5NzE0BGdycElkAzEwMTMxMzkEZ3Jwc3BJZAMxNzA1MDA2Nzg4BHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTE4MTcyOTYyMQ-->|
> Files<http://groups.yahoo.com/group/c-prog/files;_ylc=X3oDMTJmZ2prOGRvBF9TAzk3MzU5NzE0BGdycElkAzEwMTMxMzkEZ3Jwc3BJZAMxNzA1MDA2Nzg4BHNlYwNmdHIEc2xrA2ZpbGVzBHN0aW1lAzExODE3Mjk2MjE->|
> Photos<http://groups.yahoo.com/group/c-prog/photos;_ylc=X3oDMTJlbnY2YXJ0BF9TAzk3MzU5NzE0BGdycElkAzEwMTMxMzkEZ3Jwc3BJZAMxNzA1MDA2Nzg4BHNlYwNmdHIEc2xrA3Bob3QEc3RpbWUDMTE4MTcyOTYyMQ-->|
> Links<http://groups.yahoo.com/group/c-prog/links;_ylc=X3oDMTJmYmxuOGtsBF9TAzk3MzU5NzE0BGdycElkAzEwMTMxMzkEZ3Jwc3BJZAMxNzA1MDA2Nzg4BHNlYwNmdHIEc2xrA2xpbmtzBHN0aW1lAzExODE3Mjk2MjE->|
> Database<http://groups.yahoo.com/group/c-prog/database;_ylc=X3oDMTJjMzFsMTcwBF9TAzk3MzU5NzE0BGdycElkAzEwMTMxMzkEZ3Jwc3BJZAMxNzA1MDA2Nzg4BHNlYwNmdHIEc2xrA2RiBHN0aW1lAzExODE3Mjk2MjE->|
> Polls<http://groups.yahoo.com/group/c-prog/polls;_ylc=X3oDMTJmOTE0amFpBF9TAzk3MzU5NzE0BGdycElkAzEwMTMxMzkEZ3Jwc3BJZAMxNzA1MDA2Nzg4BHNlYwNmdHIEc2xrA3BvbGxzBHN0aW1lAzExODE3Mjk2MjE->
> To unsubscribe, send a blank message to <mailto:
> [EMAIL PROTECTED]>.
> [image: Yahoo!
> Groups]<http://groups.yahoo.com/;_ylc=X3oDMTJkdGd0dTVkBF9TAzk3MzU5NzE0BGdycElkAzEwMTMxMzkEZ3Jwc3BJZAMxNzA1MDA2Nzg4BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMTgxNzI5NjIx>
> Change settings via the
> Web<http://groups.yahoo.com/group/c-prog/join;_ylc=X3oDMTJmajR2NTY3BF9TAzk3MzU5NzE0BGdycElkAzEwMTMxMzkEZ3Jwc3BJZAMxNzA1MDA2Nzg4BHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzExODE3Mjk2MjE->(Yahoo!
> ID required)
> Change settings via email: Switch delivery to Daily Digest<[EMAIL
> PROTECTED]:+Digest>| Switch
> format to Traditional<[EMAIL PROTECTED]:+Traditional>
> Visit Your Group
> <http://groups.yahoo.com/group/c-prog;_ylc=X3oDMTJkMjcxMWZkBF9TAzk3MzU5NzE0BGdycElkAzEwMTMxMzkEZ3Jwc3BJZAMxNzA1MDA2Nzg4BHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMTgxNzI5NjIx>|
> Yahoo!
> Groups Terms of Use <http://docs.yahoo.com/info/terms/> | Unsubscribe
> <[EMAIL PROTECTED]>
>
>
>
> <http://groups.yahoo.com/group/c-prog/members;_ylc=X3oDMTJmcGoxY3ZuBF9TAzk3MzU5NzE0BGdycElkAzEwMTMxMzkEZ3Jwc3BJZAMxNzA1MDA2Nzg4BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzExODE3Mjk2MjE-><http://groups.yahoo.com/group/c-prog;_ylc=X3oDMTJlZHN2MzE1BF9TAzk3MzU5NzE0BGdycElkAzEwMTMxMzkEZ3Jwc3BJZAMxNzA1MDA2Nzg4BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTE4MTcyOTYyMQ-->
>
[Non-text portions of this message have been removed]
